The present invention is related to object oriented programming. More particularly, the present invention is related to methods and apparatus for constructing a representation of an object.
Object oriented programming languages are in wide use by programmers in a range of applications. In object oriented programming languages, objects have a number of properties or property fields. Some objects tend to have a large number of these properties. Some of the properties of an object can have a type that in itself is an object. Therefore, through a reference point to another object, these properties point to even more properties.
When building a user interface (UI), such as a form, table, spreadsheet, or other visual representation based on the properties of an object and their references, it can be quite cumbersome to have to specify each individual property to be included in the representation. This is especially true if the requested property is on a referenced object. The problem becomes even more complicated if the object is derived from another object.
For a typical application or system, it is common for there to be a need to generate hundreds, if not thousands, of different UIs (for example as forms) or other representations for the large number of different objects and/or combinations of properties which are to be visually represented. Generating the large number of visual representations can thus be a very labor intensive process. Further, modification of these representations is also cumbersome. If modification to existing representations is required, for example to reflect additional properties added to objects, much of the effort put into creating them in the first place must be repeated. As a result, for a system which is programmed and installed for an end user, it is often times very difficult for the end user to customize the UIs, forms or other representations at a later time if desired.